package com.wtwd.campus.vcom.dao;

import com.wtwd.campus.vcom.entity.VcomPhoneData;
import org.apache.ibatis.annotations.Param;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * @Author: px
 * @DateTime: 2022/1/10 10:53
 * @Description:
 */
@Mapper
public interface VcomPhoneMapper {

    /**
     * 根据设备imei和类型查询所有号码列表信息
     *
     * @param imei
     * @param type
     * @return
     */
    VcomPhoneData getPhoneListByType(@Param("imei") String imei, @Param("type") Integer type);

    int modifyPhoneRecord(@Param("data") VcomPhoneData data);

    int addPhoneRecord(@Param("data") VcomPhoneData data);

    int modifyPhoneRecordStatus(@Param("data") VcomPhoneData data);

    /**
     * 根据imei和指令序列号获取未生效的唯一一条记录
     *
     * @param imei
     * @param commandNumber
     * @return
     */
    VcomPhoneData getPhoneListByImeiAndCommandnumber(@Param("imei") String imei, @Param("commandNumber") String commandNumber);

    /**
     * 获取一个设备的所有类型的号码
     *
     * @return
     */
    List<VcomPhoneData> getPhoneDataByImei(@Param("imei") String imei);

    /**
     * 根据类型和imei获取号码数据
     *
     * @param phoneRecord
     * @return
     */
    int updateVcomPhoneDateByImeiAndType(@Param("data") VcomPhoneData phoneRecord);

    /**
     * 根据imei删除号码表中所有数据
     * @param imei
     * @return
     */
    int deletePhone(@Param("imei") String imei);
}
